const wsAuth = require('./middleware/ws-auth');
module.exports = (app) => {
  const { router, controller } = app;
  router.get('/ceshi', controller.ceshi.ceshi);
  router.post('/reg', controller.user.reg); // 注册
  router.post('/login', controller.user.login); // 登录
  router.post('/logout', controller.user.logout); // 退出
  router.get('/getUserInfo/:user_id', controller.user.getUserInfo); // 获得指定用户的信息
  router.get('/createUserCode/:user_id', controller.user.createUserCode); // 生成个人二维码
  router.post('/editUserAvatar', controller.user.editUserAvatar); // 修改用户头像
  router.post('/editUserInfo', controller.user.editUserInfo); // 修改用户信息

  router.get('/search/user', controller.search.searchUser); // 搜索用户
  router.get('/search/userPc', controller.search.searchUserPc); // 搜索用户
  router.get('/search/friend', controller.search.searchFriend); // 搜索好友

  router.post('/friend/add', controller.friend.addFriend); // 添加好友
  router.post('/friend/delete/:f_id', controller.friend.deleteFriend); // 删除好友
  router.post('/friend/handle', controller.friend.handle); // 处理好友申请
  router.get('/friend/list', controller.friend.list); // 获得好友申请列表
  router.get('/friend', controller.friend.friendList); // 获得好友列表
  router.get('/friend/friendUser', controller.friend.friendUser); // 获得好友信息 user表
  router.get('/friend/friendInfo', controller.friend.friendInfo); // 获得好友信息 friend表
  router.post('/friend/setStar/:f_id', controller.friend.setStar); // 设置星标好友
  router.post('/friend/setBlock/:f_id', controller.friend.setBlock); // 设置好友黑名单
  router.post('/friend/setLook/:f_id', controller.friend.setLook); // 设置boyi圈权限
  router.post('/friend/sdit_n/:f_id', controller.friend.editFriendNote); // 修改好友备注
  // router.post('/friend/setremarkTag/:f_id', controller.friend.setremarkTag);设置好友备注和标签

  router.get('/tag/user', controller.tag.tagList); // 获取自己的标签列表
  router.delete('/tag/del/:id', controller.tag.tagDel); // 删除标签
  router.get('/tag/getf_tag/:f_id', controller.tag.getFriendTagList); // 获得好友标签列表
  router.delete('/tag/del_f/:tag_id', controller.tag.tagDelFriend); // 删除指定好友的标签
  router.post('/tag/add_f/:f_id', controller.tag.tagAddFriend); // 添加指定好友的标签
  // router.post('/tag/addtag', controller.tag.tagAdd); 添加用户标签

  router.post('/report/:reported_id', controller.report.report); // 举报用户或者群
  router.get('/getReportList', controller.report.getReportList); // 获得举报列表

  router.post('/group/create', controller.group.create); // 创建群
  router.get('/group/list/:page', controller.group.getGroupList); // 获取群列表
  router.get('/group/info/:group_id', controller.group.getGroupInfo); // 获取群信息查看群信息
  router.post('/group/e_g_name/:group_id', controller.group.updateGroupname); // 修改群名称
  router.get('/getGroupInfo/:group_id', controller.group.getGroupByIdInfo); // 根据群id获取群信息
  router.post('/joinGroup/:group_id', controller.group.joinGroup); // 某人主动加入群聊
  router.post(
    '/group/e_g_remark/:group_id',
    controller.group.updateGroupRemark
  ); // 修改群公告
  router.post(
    '/group/e_g_nickname/:group_id',
    controller.group.updateGroupNickname
  ); // 修改在群的昵称
  router.get(
    '/group/create_code/:group_id',
    controller.group.createGroupQRCode
  ); // 生成群二维码
  router.post('/group/invite', controller.group.invite); // 邀请某人加入群聊
  router.post('/group/removeGroupUser', controller.group.removeGroupUser); // 将某人踢出群聊
  router.post('/group/quit/:group_id', controller.group.quitGroup); // 退出群聊

  // websocket路由
  app.ws.use(wsAuth); // ws全局验证中间介的使用
  app.ws.route('/ws', controller.chat.connect); // 链接websocket
  router.post('/chat/send', controller.chat.send); // 发送消息
  router.get('/chat/offine', controller.chat.getOfflineMessage); // 获得离线消息

  // 发布朋友圈
  router.post('/moment/publish', controller.moment.addCreate); // 发布朋友圈
  router.post('/moment/like/:moment_id', controller.moment.like); // 点赞
  router.post('/moment/comment/:moment_id', controller.moment.comment); // 评论
  router.get('/moment/timeline/:page', controller.moment.timeline); // 获得朋友圈列表
  router.get('/moment/list/:page', controller.moment.list); // 获得朋友圈列表

  // 视频相关
  router.get('/video/list', controller.video.getVideoList); // 获得视频列表
  router.put('/video/likeVideo/:video_id', controller.video.likeVideo); // 点赞和取消点赞
  router.put('/video/followUser/:to_id', controller.video.followUser); // 点赞和取消点赞
  router.get('/video/getFollowList', controller.video.getFollowList); // 点赞和取消点赞
  router.post('/video/addVideoComment', controller.video.addVideoComment); // 发表文章评论

  // 文件上传
  router.post('/upload', controller.upload.upload); // 文件上传
};
